package com.ruoyi.system.mapper;

import java.math.BigDecimal;
import java.util.List;

import com.ruoyi.system.domain.CatalystsMiddleResult;
import com.ruoyi.system.domain.MstnCatalysts;
import com.ruoyi.system.domain.MstnCatalystsCharts;
import org.apache.ibatis.annotations.Param;

/**
 * 催化剂Mapper接口
 * 
 * @author ruoyi
 * @date 2024-07-10
 */
public interface MstnCatalystsMapper 
{
    /**
     * 查询催化剂
     * 
     * @param catalystsId 催化剂主键
     * @return 催化剂
     */
    public MstnCatalysts selectMstnCatalystsByCatalystsId(Long catalystsId);

    /**
     * 选择催化剂[通过高度]
     * @return
     */
    public MstnCatalysts selectCatalystsByNextHeight(@Param("categoryName") String categoryName,@Param("catalystsName") String catalystsName,@Param("h") BigDecimal h);
    /**
     * 查询催化剂列表
     * 
     * @param mstnCatalysts 催化剂
     * @return 催化剂集合
     */
    public List<MstnCatalysts> selectMstnCatalystsList(MstnCatalysts mstnCatalysts);

    /**
     * 查询催化剂列表[带子表数据]
     *
     * @param mstnCatalysts 催化剂
     * @return 催化剂集合
     */
    public List<CatalystsMiddleResult> selectMstnCatalystsWithChartsList(CatalystsMiddleResult mstnCatalysts);

    /**
     * 查询催化剂ZV相关参数
     *
     * @param mstnCatalysts 催化剂
     * @return 催化剂集合
     */
    public CatalystsMiddleResult selectMstnCatalystsArea(CatalystsMiddleResult mstnCatalysts);
    /**
     * 新增催化剂
     * 
     * @param mstnCatalysts 催化剂
     * @return 结果
     */
    public int insertMstnCatalysts(MstnCatalysts mstnCatalysts);

    /**
     * 修改催化剂
     * 
     * @param mstnCatalysts 催化剂
     * @return 结果
     */
    public int updateMstnCatalysts(MstnCatalysts mstnCatalysts);

    /**
     * 删除催化剂
     * 
     * @param catalystsId 催化剂主键
     * @return 结果
     */
    public int deleteMstnCatalystsByCatalystsId(Long catalystsId);

    /**
     * 批量删除催化剂
     * 
     * @param catalystsIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMstnCatalystsByCatalystsIds(Long[] catalystsIds);

    /**
     * 批量删除催化剂图
     * 
     * @param catalystsIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMstnCatalystsChartsByCatalystsIds(Long[] catalystsIds);
    
    /**
     * 批量新增催化剂图
     * 
     * @param mstnCatalystsChartsList 催化剂图列表
     * @return 结果
     */
    public int batchMstnCatalystsCharts(List<MstnCatalystsCharts> mstnCatalystsChartsList);
    

    /**
     * 通过催化剂主键删除催化剂图信息
     * 
     * @param catalystsId 催化剂ID
     * @return 结果
     */
    public int deleteMstnCatalystsChartsByCatalystsId(Long catalystsId);
}
